package com.example.entity;

import lombok.Getter;
import lombok.Setter;

import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigInteger;

@Getter
@Setter
@Entity
@Table(name = "COLUMNS")
public class Columns {
    @EmbeddedId
    private ColumnsId id;
    
    @Column(name = "ORDINAL_POSITION")
    private BigInteger ordinalPosition;
    
    @Column(name = "COLUMN_DEFAULT")
    private String columnDefault;
    
    @Column(name = "IS_NULLABLE")
    private String isNullable;
    
    @Column(name = "DATA_TYPE")
    private String dataType;
    
    @Column(name = "CHARACTER_MAXIMUM_LENGTH")
    private BigInteger characterMaximumLength;
    
    @Column(name = "CHARACTER_OCTET_LENGTH")
    private BigInteger characterOctetLength;
    
    @Column(name = "NUMERIC_PRECISION")
    private BigInteger numericPrecision;
    
    @Column(name = "NUMERIC_SCALE")
    private BigInteger numericScale;
    
    @Column(name = "DATETIME_PRECISION")
    private BigInteger datetimePrecision;
    
    @Column(name = "CHARACTER_SET_NAME")
    private String characterSetName;
    
    @Column(name = "COLLATION_NAME")
    private String collationName;
    
    @Column(name = "COLUMN_TYPE", nullable = false)
    private String columnType;
    
    @Column(name = "COLUMN_KEY")
    private String columnKey;
    
    @Column(name = "EXTRA")
    private String extra;
    
    @Column(name = "PRIVILEGES")
    private String privileges;
    
    @Column(name = "COLUMN_COMMENT")
    private String columnComment;
    
    @Column(name = "GENERATION_EXPRESSION", nullable = false)
    private String generationExpression;
}
